package com.bruip.apring.proxy;

import com.bruip.apring.proxy.impl.CalculatorImpl;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * @author 王若龙
 * @CreateTime 2022-09-01 11:39
 */
public class CalculatorStaticProxy implements Calculator {


    private CalculatorImpl calculator;

    public CalculatorStaticProxy(CalculatorImpl calculator) {
        this.calculator = calculator;
    }

    @Override
    public int add(int i, int j) {
        System.out.println("日志，方法：add 参数：" + i + "," + j);
        int result = calculator.add(i, j);
        System.out.println("日志，方法：add 结果：" + result);
        return result;
    }

    @Override
    public int sub(int i, int j) {
        System.out.println("日志，方法：sub 参数：" + i + "," + j);
        int result = calculator.sub(i, j);
        System.out.println("日志，方法：sub 结果：" + result);
        return result;
    }

    @Override
    public int mul(int i, int j) {
        System.out.println("日志，方法：mul 参数：" + i + "," + j);
        int result = calculator.mul(i, j);
        System.out.println("日志，方法：mul 结果：" + result);
        return result;
    }

    @Override
    public int div(int i, int j) {
        System.out.println("日志，方法：div 参数：" + i + "," + j);
        int result = calculator.div(i, j);
        System.out.println("日志，方法：div 结果：" + result);
        return result;
    }
}
